package com.lailai.service;

//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import com.lailai.entity.vo.VersionVO;
import org.springframework.data.domain.Page;

/**
 * 版本服务接口
 * 定义版本相关的业务操作
 */
public interface VersionService {

    /**
     * 分页查询版本
     * sql语句查询版本数据
     *
     * @return 版本列表
     */
    Page<VersionVO> selectVersions(int pageNum, int pageSize);

    /**
     * 创建新版本
     *
     * @param versionDTO 版本数据传输对象
     * @return 保存后的版本DTO
     */
//    VersionDTO createVersion(VersionDTO versionDTO);

    /**
     * 更新版本信息
     *
     * @param id         版本ID
     * @param versionDTO 更新的版本数据
     * @return 更新后的版本DTO
     */
//    VersionDTO updateVersion(Long id, VersionDTO versionDTO);

    /**
     * 根据ID获取版本详情
     *
     * @param id 版本ID
     * @return 版本DTO
     */
//    VersionDTO getVersionById(Long id);

    /**
     * 获取所有版本列表
     *
     * @return 版本DTO列表
     */
//    List<VersionDTO> getAllVersions();

    /**
     * 分页查询版本
     *
     * @param pageable 分页参数
     * @return 分页后的版本DTO
     */

    /**
     * 根据版本号查询版本
     *
     * @param versionNumber 版本号
     * @return 版本DTO
     */
//    VersionDTO getVersionByVersionNumber(String versionNumber);

    /**
     * 获取所有公开版本
     *
     * @return 公开版本DTO列表
     */
//    List<VersionDTO> getAllPublicVersions();

    /**
     * 获取最新的公开版本
     *
     * @return 最新公开版本DTO
     */
//    VersionDTO getLatestPublicVersion();

    /**
     * 删除版本
     *
     * @param id 版本ID
     */
//    void deleteVersion(Long id);

    /**
     * 检查版本号是否存在
     *
     * @param versionNumber 版本号
     * @return 是否存在
     */
//    boolean existsByVersionNumber(String versionNumber);


}
